Urho3D
|
Helper base class for user-defined game logic components that hooks up to update events and forwards them to virtual functions similar to ScriptInstance class. More...
#include <LogicComponent.h>
Protected Member Functions | |
virtual void | OnNodeSet (Node *node) |
Handle scene node being assigned at creation. | |
virtual void | OnSceneSet (Scene *scene) |
Handle scene being assigned. | |
Protected Member Functions inherited from Urho3D::Component | |
virtual void | OnAttributeAnimationAdded () |
Handle attribute animation added. | |
virtual void | OnAttributeAnimationRemoved () |
Handle attribute animation removed. | |
virtual void | OnMarkedDirty (Node *node) |
Handle scene node transform dirtied. | |
virtual void | OnNodeSetEnabled (Node *node) |
Handle scene node enabled status changing. | |
void | SetID (unsigned id) |
Set ID. Called by Scene. | |
void | SetNode (Node *node) |
Set scene node. Called by Node when creating the component. | |
void | HandleAttributeAnimationUpdate (StringHash eventType, VariantMap &eventData) |
Handle scene attribute animation update event. | |
Protected Member Functions inherited from Urho3D::Animatable | |
virtual Animatable * | FindAttributeAnimationTarget (const String &name, String &outName) |
Find target of an attribute animation from object hierarchy by name. | |
void | SetObjectAttributeAnimation (const String &name, ValueAnimation *attributeAnimation, WrapMode wrapMode, float speed) |
Set object attribute animation internal. | |
void | OnObjectAnimationAdded (ObjectAnimation *objectAnimation) |
Handle object animation added. | |
void | OnObjectAnimationRemoved (ObjectAnimation *objectAnimation) |
Handle object animation removed. | |
void | UpdateAttributeAnimations (float timeStep) |
Update attribute animations. | |
bool | IsAnimatedNetworkAttribute (const AttributeInfo &attrInfo) const |
Is animated network attribute. | |
AttributeAnimationInfo * | GetAttributeAnimationInfo (const String &name) const |
Return attribute animation info. | |
void | HandleAttributeAnimationAdded (StringHash eventType, VariantMap &eventData) |
Handle attribute animation added. | |
void | HandleAttributeAnimationRemoved (StringHash eventType, VariantMap &eventData) |
Handle attribute animation removed. | |
Private Member Functions | |
URHO3D_OBJECT (LogicComponent, Component) | |
LogicComponent (Context *context) | |
Construct. | |
virtual | ~LogicComponent () |
Destruct. | |
virtual void | OnSetEnabled () |
Handle enabled/disabled state change. Changes update event subscription. | |
virtual void | Start () |
Called when the component is added to a scene node. Other components may not yet exist. | |
virtual void | DelayedStart () |
Called before the first update. At this point all other components of the node should exist. Will also be called if update events are not wanted; in that case the event is immediately unsubscribed afterward. | |
virtual void | Stop () |
Called when the component is detached from a scene node, usually on destruction. Note that you will no longer have access to the node and scene at that point. | |
virtual void | Update (float timeStep) |
Called on scene update, variable timestep. | |
virtual void | PostUpdate (float timeStep) |
Called on scene post-update, variable timestep. | |
virtual void | FixedUpdate (float timeStep) |
Called on physics update, fixed timestep. | |
virtual void | FixedPostUpdate (float timeStep) |
Called on physics post-update, fixed timestep. | |
void | SetUpdateEventMask (unsigned char mask) |
Set what update events should be subscribed to. Use this for optimization: by default all are in use. Note that this is not an attribute and is not saved or network-serialized, therefore it should always be called eg. in the subclass constructor. | |
unsigned char | GetUpdateEventMask () const |
Return what update events are subscribed to. | |
bool | IsDelayedStartCalled () const |
Return whether the DelayedStart() function has been called. | |
void | UpdateEventSubscription () |
Subscribe/unsubscribe to update events based on current enabled state and update event mask. | |
void | HandleSceneUpdate (StringHash eventType, VariantMap &eventData) |
Handle scene update event. | |
void | HandleScenePostUpdate (StringHash eventType, VariantMap &eventData) |
Handle scene post-update event. | |
Private Attributes | |
unsigned char | updateEventMask_ |
Requested event subscription mask. | |
unsigned char | currentEventMask_ |
Current event subscription mask. | |
bool | delayedStartCalled_ |
Flag for delayed start. | |
Additional Inherited Members | |
Public Member Functions inherited from Urho3D::Component | |
Component (Context *context) | |
Construct. | |
virtual | ~Component () |
Destruct. | |
virtual bool | Save (Serializer &dest) const |
Save as binary data. Return true if successful. | |
virtual bool | SaveXML (XMLElement &dest) const |
Save as XML data. Return true if successful. | |
virtual void | MarkNetworkUpdate () |
Mark for attribute check on the next network update. | |
virtual void | GetDependencyNodes (PODVector< Node * > &dest) |
Return the depended on nodes to order network updates. | |
virtual void | DrawDebugGeometry (DebugRenderer *debug, bool depthTest) |
Visualize the component as debug geometry. | |
void | SetEnabled (bool enable) |
Set enabled/disabled state. | |
void | Remove () |
Remove from the scene node. If no other shared pointer references exist, causes immediate deletion. | |
unsigned | GetID () const |
Return ID. | |
Node * | GetNode () const |
Return scene node. | |
Scene * | GetScene () const |
Return the scene the node belongs to. | |
bool | IsEnabled () const |
Return whether is enabled. | |
bool | IsEnabledEffective () const |
Return whether is effectively enabled (node is also enabled.) | |
Component * | GetComponent (StringHash type) const |
Return component in the same scene node by type. If there are several, returns the first. | |
void | GetComponents (PODVector< Component * > &dest, StringHash type) const |
Return components in the same scene node by type. | |
template<class T > | |
T * | GetComponent () const |
Template version of returning a component in the same scene node by type. | |
template<class T > | |
void | GetComponents (PODVector< T * > &dest) const |
Template version of returning components in the same scene node by type. | |
void | AddReplicationState (ComponentReplicationState *state) |
Add a replication state that is tracking this component. | |
void | PrepareNetworkUpdate () |
Prepare network update by comparing attributes and marking replication states dirty as necessary. | |
void | CleanupConnection (Connection *connection) |
Clean up all references to a network connection that is about to be removed. | |
Static Public Member Functions inherited from Urho3D::Animatable | |
static void | RegisterObject (Context *context) |
Register object factory. | |
Protected Attributes inherited from Urho3D::Component | |
Node * | node_ |
Scene node. | |
unsigned | id_ |
Unique ID within the scene. | |
bool | networkUpdate_ |
Network update queued flag. | |
bool | enabled_ |
Enabled flag. | |
Helper base class for user-defined game logic components that hooks up to update events and forwards them to virtual functions similar to ScriptInstance class.